The present invention is directed to arrangements and methods for processing signals. More particularly, the present invention is directed to signal processing arrangements and methods incorporating adaptive filters.
Many signal processing application environments use filters to reduce the amount of noise present in an input signal. Such filters often involve using, for example, finite impulse response (FIR) filters having delay, multiplication, and accumulation arrangements known as taps. These taps are characterized by coefficients selected to reduce the contribution of noise to the signal output by the filter. Reducing the contribution of noise to the output signal results in a cleaner output signal.
Some filters, known as adaptive filters, can adjust to varying noise characteristics by, for example, adjusting the coefficients of the FIR filter. Signal processing techniques incorporating adaptive filters are used in a variety of applications, including speaker phones and echo cancellers. Adaptive filtering techniques involve using adaptive or corrective algorithms that compare the output signal with certain desired characteristics, such as a reference signal, and adjust the tap coefficients accordingly.
While an adaptive filter can adjust the tap coefficients of the FIR filter, the number of taps or length of the filter is typically established when the filter is designed. Selecting the length of the adaptive filter at this stage often requires the filter designer to estimate the worst-case scenario, for example, the maximum amount of noise that can be expected to be present in the input signal. The designer then selects the length of the adaptive filter to substantially remove the noise present in the worst-case scenario. To allow for a certain amount of uncertainty, adaptive filters are often designed to remove noise in situations worse than the predicted worst-case scenario. Designing the adaptive filter for performance under these conditions often results in an adaptive filter having more taps than are necessary to remove noise under many operating conditions.
Excessively long adaptive filters are susceptible to a number of inefficiencies. For example, processor and memory requirements increase as the length of the adaptive filter increases. Furthermore, increasing the number of taps in an adaptive filter increases the power consumption of the signal processor, resulting in increased device heating and electrical noise. These difficulties are 5compounded in signal processing systems incorporating multiple adaptive filters.
Another difficulty occurs when the amount of noise in the input signal of an adaptive filter exceeds design expectations. When the input signal contains more noise than expected in the worst-case scenario, the adaptive filter may be unable to remove the noise from the input signal. As a result, the performance of the adaptive filter may deteriorate. For example, perceived speech quality during a telephone conversation may suffer.
According to one embodiment, the present invention is directed to a signal processing arrangement. The signal processing arrangement includes an adaptive filter, which is coupled to receive an input signal. The adaptive filter is configured and arranged to generate an output signal as a function of the input signal and a number of weighting coefficients. A memory stores the weighting coefficients. An error detector is responsive to the output signal and is configured and arranged to generate an error signal. The error signal is generated at least in part as a function of the output signal and is provided to the adaptive filter. A data processor is operatively coupled to the adaptive filter and is configured and arranged to selectively modify the weighting coefficients in response to the error signal and to selectively increase or decrease the number of weighting coefficients in response to a characteristic of the weighting coefficients. The data processor also selectively modifies an amount of system resources used for storing the weighting coefficients.
Another embodiment of the present invention is directed to a signal processing arrangement including adaptive filters that are coupled to receive input signals. The adaptive filters are configured and arranged to generate output signals as a function of the input signals and of sets of weighting coefficients of the adaptive filters. Error detectors, responsive to the output signals, generate error signals at least in part as a function of the output signals and provide the error signals to the adaptive filters. A memory is configured and arranged to store the weighting coefficients. A data processor is operatively coupled to the adaptive filters and is configured and arranged to selectively modify the weighting coefficients in response to the error signals and to selectively increase or decrease quantities of weighting coefficients comprising the sets of weighting coefficients in response to a characteristic of the weighting coefficients. The data processor is also configured and arranged to allocate system resources among the adaptive filters.
According to a method embodiment of the present invention, signal processing is accomplished by receiving an input signal. An output signal is generated using an adaptive filter as a function of the input signal and a number of weighting coefficients stored in a memory, and an error signal is generated at least in part as a function of the output signal. The method includes selectively modifying the weighting coefficients in response to the error signal and selectively increasing or decreasing the number of weighting coefficients used by the adaptive filter in response to a characteristic of the weighting coefficients. An amount of system resources used for storing the weighting coefficients is also selectively modified. This method may be performed using a signal processing arrangement.
Another signal processing method includes receiving input signals and using adaptive filters to generate output signals as a function of the input signals and of sets of weighting coefficients stored in a memory. Error signals are generated at least in part as a function of the output signals. The weighting coefficients are selectively modified in response to the error signals, and quantities of weighting coefficients comprising the sets of weighting coefficients are selectively increased or decreased in response to the weighting coefficients. The method also includes allocating space in the memory among the adaptive filters. This method may be performed using a signal processing arrangement.
The above summary of the invention is not intended to describe each disclosed embodiment of the present invention. This is the purpose of the figures and of the detailed description that follows.